题意:求网络流图中最小割点
一开始题意看成最小割边,把板子改了一下直接交,80(这样都能有80)
我们可以考虑“拆点”,即把一个点拆成两个点,中间连一条边权为1的边。
前一个点作为“入点”,别的点连边连入这里。
后一个点作为“出点”,出去的边从这里出去。
这样,只要我们切断中间那条边,就可以等效于除去这个点
红色的边边权为$1$,黑色的边边权为$inf$。
原点和汇点的内部边权为$inf$,因为显然这两个点不能删除。
题面给的边删除没意义(因为我们要删点),所以也设为$inf$
网络流建反向边只是为了有”反悔”的机会,确保答案最优,所以在已有反向边时就没有必要建边圈为$0$的反向边了
1 |
|